package com.abu.manager.service;


import com.abu.manager.pojo.Manager;
import com.abu.manager.vo.ManagerVO;
import com.abu.manager.vo.QueryConditionVO;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.HashMap;
import java.util.List;

/**
 * <p>
 * 管理员表（超级管理员，楼主） 服务类
 * </p>
 *
 * @author 阿布
 * @since 2021-02-03
 */
public interface ManagerService extends IService<Manager> {
    /**
     * 用户授权
     *
     * @param mgName
     * @param mgPwd
     * @return
     */
    HashMap<String, Object> auth(String mgName, String mgPwd);

    /**
     * 根据条件查询用户
     *
     * @param queryCondition
     * @return
     */
    HashMap<String, Object> queryByCondition(QueryConditionVO queryCondition);


    /**
     * 删除用户以及用户下面的角色
     *
     * @param managerId
     * @return
     */
    boolean removeManagerAndRole(Long managerId);

    /**
     * 批量删除
     *
     * @param ids
     * @return
     */
    Boolean deleteBatch(String ids);

    /**
     * 保存用户以及角色
     *
     * @param manager
     * @return
     */
    Boolean saveManagerAndRole(ManagerVO manager);

    /**
     * 密码重置
     *
     * @param mgId
     * @return
     */
    Boolean resetPwd(Long mgId);

    /**
     * 修改密码
     *
     * @param userVo
     * @return
     */
    Boolean modifiedPwd(ManagerVO userVo);

    /**
     * 根据id查询用户详细信息
     *
     * @return
     */
    ManagerVO queryManagerInfoByManagerId();

    List<Manager> selectInfoListBesidesSuperAdmin();

}
